package cn.zqy.demo2.day13StreamAndMethodReference.ArrayMethodReference;

/*
    数组的构造器引用
 */
public class Demo01ArrayReference {

    /*
       定义一个方法
       方法的参数传递创建数组的长度和ArrayBuilder接口
       方法内部根据传递的长度使用ArrayBuilder中的方法创建数组并返回
    */
    public static void getArray(int num,ArrayBuilder ab) {
        int[] arr = ab.buildArray(num);
        System.out.println(arr.length);
    }

    public static void main(String[] args) {
        getArray(50, (int s) -> new int[s]);

         /*
            使用方法引用优化Lambda表达式
            已知创建的就是int[]数组
            数组的长度也是已知的
            就可以使用方法引用
            int[]引用new,根据参数传递的长度来创建数组
         */
       getArray(10, int[]::new);
    }
}
